package pe.edu.unmsm.juegoia.controller.impl;

import pe.edu.unmsm.juegoia.controller.JuegoController;
import pe.edu.unmsm.juegoia.model.JuegoModel;
import pe.edu.unmsm.juegoia.model.JuegoTyAModel;
import pe.edu.unmsm.juegoia.model.Posicion;
import pe.edu.unmsm.juegoia.view.FrmPrincipal;

/**
 *
 * @author Marlon
 */
public class JuegoTyAController implements JuegoController {

    private JuegoTyAModel model;
    private FrmPrincipal view;

    public JuegoTyAController(JuegoTyAModel model) {
        this.model = model;
        view = new FrmPrincipal(this, model);

        // setear vista
    }
    
    public JuegoTyAController(JuegoTyAModel model, FrmPrincipal view) {
        this.model = model;
        this.view = view;

        // setear vista
    }

    @Override
    public void iniciarNuevoJuego() {
        model.iniciarNuevoJuego();
    }

    @Override
    public void setPosicionSeleccionada(int x, int y) {
        if (model.existeFichaSileccionada()) {
            if (model.getFicha(x, y) == model.getJugadorTurnoActual()) {
                model.setFichaSeleccionada(x, y);
            } else {
                model.mover(x, y); // setear movimiento, cambiar turno, poner fichaSeleccionada == null y notificar a listeners de tabla 

            }
        } else if (model.getFicha(x, y) == model.getJugadorTurnoActual()) {
            model.setFichaSeleccionada(x, y); // setear fichaSeleccionada y calcularMovimientos() y notificar es listeners de Movimiento
        }

        //model.setPosicionSeleccionada(new Posicion(x, y));
    }
}
